/**
 * 时间截过滤为日期格式
 * @param unixtime
 * @param format
 * @returns {string|*}
 */
const unixTimeToDate = (unixtime, format) =>{
  if(unixtime == null || unixtime == '') {
    return '';
  }
  let date = new Date(parseInt(unixtime));
  if(/(y+)/.test(format)) {
    format = format.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
  }
  let reg = {
    'M+': date.getMonth(),
    'd+': date.getDay(),
    'h+': date.getHours(),
    'm+': date.getMinutes(),
    's+': date.getSeconds()
  }
  for(let r in reg) {
    if(new RegExp(`(${r})`).test(format)) {
      let val = reg[r] + '';
      format = format.replace(RegExp.$1, (RegExp.$1.length === 1) ? val : addLeftZero(val));
    }
  }
  return format;
}
function addLeftZero(param) {
  return ('00' + param).substr(param.length);
}

/**
 * 时间截过滤为生存区间日期（例如：1年3个月25天）
 * @param unixtime
 * @returns {string}
 */
const unixTimeToIntervalDate = (unixtime) => {
  if(unixtime == null || unixtime == '') {
    return '';
  }
  let currentDate = new Date().getTime();
  let intervalAllDay = parseInt((currentDate - parseInt(unixtime)) / 1000 / 3600 / 24 / 7); //至今存在的总天数
  let intervalDate = '';
  if(intervalAllDay >= 1) {
    let intervalYear = parseInt(intervalAllDay / 365); //至今存在的总整年数,只按一年365天算
    if(intervalYear >= 1) {
      // console.log(`${intervalYear}年`)
      intervalDate = intervalDate + `${intervalYear}年`
    }
    let remainMonth = parseInt(intervalAllDay % 365 / 30); //撇去年数后，至今存在的总整月数，只按一月30天算
    if(remainMonth >= 1) {
      // console.log((`${remainMonth}个月`))
      intervalDate= intervalDate + `${remainMonth}个月`
    }
    let remainDay = intervalAllDay % 365 % 30; //撇去年数和月数，至今存在的天数
    if(remainDay >= 1) {
      // console.log(`${remainDay}天`)
      intervalDate = intervalDate + `${remainDay}天`
    }
  }else {
    intervalDate = '1天内';
  }
  return intervalDate;
}

export {
  unixTimeToDate,
  unixTimeToIntervalDate
}
